home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / pcboard / cbfree13.zip / CB.DOC < prev    next >
Text File  |  1996-06-08  |  51KB  |  1,166 lines

  1. CB-FREE   by Dan Shore - Sysop
  2.           The Shoreline BBS
  3.           June 8, 1996
  4.  
  5.  
  6. 1.  WHAT IS CB-FREE
  7.     ───────────────
  8.  
  9.     CB-FREE is a Callback Verifier written in Clark Development's PPL
  10.     Language.
  11.  
  12.     Full source is being released with this program.  With the source
  13.     code available, you can make any changes you wish, from changing a
  14.     prompt, or adding a feature you must have.
  15.  
  16.  
  17.  
  18. 2.  INSTALLATION
  19.     ────────────
  20.  
  21.     Make a directory and put all the files from the archive into this
  22.     directory.
  23.  
  24.     A. Edit your CMD.LST file(s) to add this:
  25.  
  26.                             Charges Per     PPE/MNU File Specification -or-
  27.            Command    Sec  Minute    Use    Keystroke Substitution
  28.        ══════════════ ═══ ═════════════════ ═════════════════════════════════
  29.     1) CALLBACK         3        0        0 C:\PCB\PPE\CALLBACK\CB.PPE
  30.  
  31.        Note: You may have to change the pathname to the PPE.
  32.        Note: You may have to change the security level for the PPE.
  33.  
  34.        Note: Another way to have the callback be invoked is to have
  35.              the PPE run via an entry in the security specific display
  36.              files.  In this display file all you will need is to
  37.              have an line that looks like the following:
  38.  
  39.              !C:\PCB\PPE\CALLBACK\CB.PPE
  40.  
  41.              When the security specific file is displayed the
  42.              callback program will be invoked.  With this method
  43.              the user is FORCED to use the Callback program.  Where
  44.              when it is in the CMD.LST file, the user can execute
  45.              the callback after looking around your BBS first.
  46.  
  47.     B.  Edit the CBCFG.SAM file to match your BBS requirements
  48.         and save your changes to the filename CB.CFG or to a
  49.         node specific configuration file - CBx.CFG. (x = Node Number)
  50.  
  51.     C.  Edit the LC-SL.CFG file (Local Call Security File).
  52.          ** One entry for every security level that will use CB-FREE **
  53.  
  54.          NOTE:  If a user is attempting a Callback and their CURRENT
  55.                 security level DOES NOT match the "matching level" in
  56.                 this file (the first parameter), the program will exit
  57.                 with the error:
  58.  
  59.                 "*** Cannot find matching security level in ??-SL.CFG"
  60.  
  61.     D.  Edit the LD-SL.CFG file (Long Distance Security File).
  62.          ** One entry for every security level that will use CB-FREE **
  63.  
  64.          NOTE:  If a user is attempting a Callback and their CURRENT
  65.                 security level DOES NOT match the "matching level" in
  66.                 this file (the first parameter), the program will exit
  67.                 with the error:
  68.  
  69.                 *** Cannot find matching security level in ??-SL.CFG"
  70.  
  71.     E.  Edit the BAD-NAM.LST file to include any username(s) you wish to
  72.         be banned from using the callback program.
  73.  
  74.     F.  Edit the BAD-NUM.LST file to include any phone numbers you wish
  75.         to be banned from using the callback program.
  76.  
  77.     G.  Edit the TRASHCAN.SAM file for blocking areacodes, exhanges or
  78.         the last four numbers from being used in a callback.  Rename
  79.         file to TRASHCAN.DAT
  80.  
  81.     H.  OPTIONAL:  If you have configuration line #13 set for TRUE, then
  82.                    you MUST use the AREACODE.DAT file to check for valid
  83.                    areacodes for callback.
  84.  
  85.     I.  OPTIONAL:  If you have configuation line #14 set for TRUE, then
  86.                    you must use the xxxXCHNG.DAT files for EVERY
  87.                    areacode that can be a local call to you. (xxx =
  88.                    areacode) If this option is set to false, the user
  89.                    will be prompted if their callback is local or long
  90.                    distance. The format of the file is one EXCHANGE per
  91.                    line.  IMPORTANT NOTE:  Each line in the file MUST
  92.                    end with a CR/LF sequence or the PPE will think it
  93.                    has reached the end of the file.
  94.  
  95.                    CR/LF = Carriage Return/Line Feed - Use QEdit, TSE,
  96.                            or PCBEDIT to edit your ???XCHNG.DAT files.
  97.  
  98.     J.  OPTIONAL:  You can edit the following DISPLAY files to your
  99.                    liking.
  100.  
  101.         BADNAM   - Shown to user when a Bad Username is detected.
  102.  
  103.         BADNUM   - Shown to user when a Bad Phone Number is detected.
  104.  
  105.         CALLB    - Local display for SysOp.  BE CAREFUL EDITING THIS
  106.                    FILE. ** DO NOT MOVE THE FIELD POSITIONS **
  107.  
  108.         GETPW    - Shown to user when the Password is used for
  109.                    Verification.
  110.  
  111.         GETUN    - Shown to user when the Username is used for
  112.                    Verification.
  113.  
  114.         GETPWUN  - Shown to user when the Password & Username is used
  115.                    for verification.
  116.  
  117.         INST     - Shown to user right before Callback disconnects them.
  118.                    Instructs the user how to answer the phone with their
  119.                    modem.
  120.  
  121.         LCNO     - Shown to user when a Local Callback is outside of the
  122.                    allowed hours.
  123.  
  124.         LDNO     - Shown to user when a Long Distance Callback is
  125.                    outside of the allowed hours or when Long Distance
  126.                    Callbacks are disabled.
  127.  
  128.         WELCOME  - Shown to user when they first enter the Callback
  129.                    program.
  130.  
  131.         NOBLOCK  - Shown to user who is blocking CID information
  132.                    and the sysop has CB-FREE configured to not
  133.                    allow blocking of CID info.
  134.  
  135.  
  136. 2A.  LOCAL vs. LONG DISTANCE Callbacks  ***** READ THIS-IMPORTANT *****
  137.      ─────────────────────────────────
  138.  
  139.      CB-FREE is capable of determining whether a callback is local or
  140.      long distance through use of the ???XCHNG.DAT files (the ??? is
  141.      the area code for which the exchange file is for).
  142.  
  143.      It has only be implemented for US Dialing plan at this time.  The
  144.      US dialing plan has the format of xxx-xxx-xxxx.
  145.  
  146.      The exchange file will "NOT" be used when:
  147.  
  148.      1.  Configuration Parameter #7 (Area Code always a local call) -
  149.          When this area code is matched, the call is ALWAYS a local
  150.          call, so the exchange file is never checked.
  151.  
  152.      2.  Configuration Parameter #25 (Callback format) - When this is
  153.          set to INTL or BOTH, and it is not an international callback
  154.          the ???XCHNG.DAT files are not used.  The user is then prompted
  155.          if the callback is local or long distance.
  156.  
  157.      3.  Configuration Parameter #14 (Use ???XCHNG.DAT files if found) -
  158.          If the entry for this parameter is FALSE, then the ???XCHNG.DAT
  159.          file will not be used.  The user is then prompted if the
  160.          callback is local or long distance.
  161.  
  162.      How does the exchange file determine if it is a local call?  When
  163.      the exchange files are used, the program will use the area code
  164.      entered by the user and look for the associated exchange file.
  165.  
  166.      area code entered:   301
  167.      Exchnage file    :   301XCHNG.DAT
  168.  
  169.      Once the file is found, the exchange the user entered is searched
  170.      inside the exchange file.  If a match is found, the call is then
  171.      considered to be a LOCAL CALL.  If a match is NOT FOUND, the call
  172.      is then considered to be LONG DISTANCE.
  173.  
  174.      In order to build your ???XCHNG.DAT files, refer to your local
  175.      phone book and the exchanges local to your exchange should be
  176.      listed at the beginning of the book. The format of the file is one
  177.      EXCHANGE per line in numerical order.
  178.  
  179.      The exchange files are a better way, instead of asking the user if
  180.      they are calling local or LD. In my calling area the exchanges are
  181.      a real pain to type in year after year when I get my new phone
  182.      books (I have to type around 400 exchanges) - but the exchange
  183.      files are all worth it, in my opinion.
  184.  
  185.  
  186. 2B.  Caller ID
  187.      ─────────
  188.  
  189.      Many modems are now supporting Caller ID along with many more
  190.      local phone companies.  Used together, Caller ID and CB-FREE
  191.      make a very powerful, yet simple callback for your users.  If
  192.      the users phone numbers, entered in their user record, match
  193.      the Caller ID number, they can get (if configured) upgraded
  194.      without a callback being done.
  195.  
  196.      For CB-FREE to properly match the CID number to the user record
  197.      two things have to occur.  1.  The user must enter their FULL
  198.      PHONE number in the user record (area code, exchange, last 4
  199.      in North America).  2.  The proper parameters are passed to
  200.      PCBoard for the CID information.
  201.  
  202.      ───────────────────────────────────────────────
  203.      When using a front-end program like Front Door:
  204.      ───────────────────────────────────────────────
  205.  
  206.      Front Door will create a file called DOBBS.BAT and the contents of
  207.      this file will look like:
  208.  
  209.      EXEBBS 28800 1 592 1 /V32/NONE _DATE_=_0417_TIME_=_1607_NMBR_=_3014441234
  210.  
  211.  
  212.      The parameters passed to EXEBBS.BAT are:
  213.  
  214.      Parmameter %1 = 28800
  215.      Parmameter %2 = 1
  216.      Parmameter #3 = 592
  217.      Parmameter #4 = 1
  218.      Parmameter #5 = /V32/NONE
  219.      Parmameter #6 = _DATE_
  220.      Parmameter #7 = _0417_TIME_
  221.      Parmameter #8 = _1607_NMBR_
  222.      Parmameter #9 = _3014441234
  223.  
  224.      Make sure you are passing the same items to PCBoard as you are telling
  225.      CB-FREE to look for.
  226.  
  227.      You "AT LEAST" need  %9 on your PCBoard Command line for the CID
  228.      information (this will pass the phone number only).
  229.  
  230.      PCBOARD /C:%BAUD% /CSTR:%CSTRING% /CID:%9
  231.  
  232.  
  233.      ──────────────────────────────────
  234.      When using PCBoard's built in FIDO
  235.      ──────────────────────────────────
  236.  
  237.      The CID information is automatically gathered by PCB if it is sent
  238.      between the first and second rings.
  239.  
  240.      1) Go into PCBSETUP/CONFIG OPTIONS/LOGGING OPTIONS and set "Log
  241.         Connect String to Disk: Y".
  242.  
  243.      2) Go into PCBSETUP/MODEM INFO/CONFIG SWITCHES and set the "Number
  244.         of Rings Required: 2".
  245.  
  246.      3) Next, go into your modem's NVRAM settings and turn on Caller ID.
  247.  
  248.      That's all there is to it.
  249.  
  250.      [From the 15.21 manual, pages 24-25]:
  251.  
  252.      If you are running a front-end, PCB will not see the CID info
  253.      unless the front-end can pass it to PCB. You must then use the
  254.      commandline "/CID: (parms)" for the front-end to pass it to PCB.
  255.      The information will then be written to the caller log if you have
  256.      enabled the option to write the connect string to disk and it will
  257.      also make the information available to any PPE applications
  258.      requiring it.  Example:
  259.  
  260.              PCBOARD /C:%BAUD% /CSTR:%CSTRING% /CID:(parms)
  261.  
  262.      In short, unless you are running a front-end, the CID process is
  263.      pretty much automated for you.
  264.  
  265.  
  266. 3.   FEATURES OF CB-FREE
  267.      ───────────────────
  268.  
  269.      ■ All files created or used by CB-FREE are plain ASCII files and do
  270.        not need any special editor or program to review/edit them.  We
  271.        recommend QEdit, TSE, or PCBEDIT for editing any of the files
  272.        required by CB-FREE.
  273.  
  274.        You are not REQUIRED to use any of these programs, it is just a
  275.        recommendation.
  276.  
  277.      ■ Checks user's security to make sure it is not TOO HIGH.
  278.  
  279.      ■ Checks BAD-NAMES.LST to see if current user matches an entry.
  280.  
  281.      ■ Option to check phone exchange via the xxxXCHNG.DAT files to
  282.        automatically determine if it is long distance or local.  If the
  283.        xxxXCHNG.DAT file is not used, the user is asked if the call is
  284.        local or long distance.
  285.  
  286.      ■ Option to check the entered areacode against the file
  287.        AREACODE.DAT to see if it is a valid areacode.
  288.  
  289.      ■ Checks callback number against Bad Phone Number list (BAD-NUM.LST).
  290.  
  291.      ■ Checks phone number and username against VERIFIED.LOG entries.
  292.  
  293.      ■ Option to automatically upgrade old verified users or make them
  294.        perform a callback again.
  295.  
  296.      ■ Configurable number of times to attempt a callback.
  297.  
  298.      ■ Configurable values during callback for RING, BUSY, NO DIAL.
  299.        These values are deducted from the total callback attempts until
  300.        zero callback attempts are reached and the program terminates.
  301.  
  302.      ■ Phone number check against TRASHCAN.DAT entries.
  303.  
  304.      ■ Read phone numbers from user record and display to user as
  305.        choices for callback phone numbers.
  306.  
  307.      ■ Configuration option to allow "O"ther phone number to be used and
  308.        not just Home and Data phone number from the user record.
  309.  
  310.      ■ User can exit program at three different stages of the callback
  311.        process.
  312.  
  313.      ■ Verification check can be the user's: Username, Password or Both.
  314.  
  315.      ■ Configurable verification check attempts allowed by user.
  316.  
  317.      ■ Display screens can be edited by SysOp.
  318.  
  319.      ■ Security File - User's security level if callback is successful.
  320.  
  321.      ■ Security File - User's security level if callback is unsuccessful.
  322.  
  323.      ■ Security File - Adjust (add or subtract) to user's remaining time.
  324.  
  325.      ■ Security File - What expiration date is to be set to if callback is
  326.        successful.
  327.  
  328.      ■ Security File - User's expired security level if callback is
  329.        successful.
  330.  
  331.      ■ Configurable to disconnect or stay online after Long Distance
  332.        callback verification.
  333.  
  334.      ■ Start time and end times for Local and Long Distance callbacks.
  335.  
  336.      ■ Optional importing of a message to SysOp when callback is
  337.        successful.
  338.  
  339.      ■ Configurable local callback call timeout.
  340.  
  341.      ■ Configurable long distance callback call timeout.
  342.  
  343.      ■ Informative local display during callback.
  344.  
  345.      ■ EXTENSIVE logging so SysOp knows EXACTLY what has occured during
  346.        callback.
  347.  
  348.      ■ Node specific log files.
  349.  
  350.      ■ Node specific -OR- generic callback configuration file (CBx.CFG
  351.        or CB.CFG).
  352.  
  353.      ■ Local callback can be performed for COMPLETE program testing and
  354.        evaluation.
  355.  
  356.      ■ Detects incoming calls during callback and terminates them.
  357.  
  358.      ■ Detects BUSY and NO DIAL during callback.
  359.  
  360.      ■ SysOp can recycle callback by hitting the space bar.
  361.  
  362.      ■ SysOp can abort callback by hitting the enter key.
  363.  
  364.      ■ Logging of both user and data phone number from user record into
  365.        VERIFIED.LOG file.  "O"ther phone number is also logged if the
  366.        option is turned on.
  367.  
  368.      ■ Comment lines can be imbedded within most configuration files.
  369.  
  370.      ■ Configurable string for detecting CID phone number.
  371.  
  372.      ■ Detects CALLER ID and compares the number against the user record
  373.        phone numbers.  If the CID number matches the phone number in the
  374.        user record and the SysOp has activated the automatic upgrade
  375.        option, the user will automatically be upgraded without a
  376.        callback being done.
  377.  
  378.      ■ Configurable support for ASCII or HEX Caller ID phone number format.
  379.  
  380.      ■ Ability to prevent users who block CID info from performing
  381.        a callback.
  382.  
  383.      ■ Configurable Long Distance prefix number.
  384.  
  385.      ■ Long Distance callbacks can be completely disabled.
  386.  
  387.      ■ Supports International Callbacks.
  388.  
  389.      ■ Configurable for US dialing plan or INTL dialing plan.
  390.  
  391.      ■ Configurable International dialing prefix number.
  392.  
  393.      ■ Configurable Modem initialization and dialing string.
  394.  
  395.      ■ Option to add date, time and phone number used for callback to
  396.        User Record Comment or Notes fields.
  397.  
  398.      ■ Configurable prefix number (ex. "9,").
  399.  
  400.      ■ Configurable suffix number and when to use it.
  401.  
  402.      ■ Configurable minimum phone number length.
  403.  
  404.      ■ A FREE utility so users enter in their complete phone number
  405.        when logging in as a new user.  (Filename:  PHONE.ZIP)
  406.  
  407.  
  408. 4.   FILES THAT MAKE UP CALLBACK
  409.      ───────────────────────────
  410.  
  411.     CB.PPE         =  The PPE Program.
  412.  
  413.     CB.PPS         =  The source code.  Highly commented for your ease in
  414.                       understanding what is happening anywhere within the
  415.                       program.
  416.  
  417.     CB.DOC         =  What you are reading.
  418.  
  419.     BAD-NAME.LST   =  File containing usernames who are disallowed from
  420.                       using CB irregardless of their security level.  The
  421.                       format of this file is one username per line.
  422.  
  423.     BADNAM         =  File displayed to user who's name matches a name
  424.                       in BAD-NAME.LST.
  425.  
  426.     BAD-NUM.LST    =  File containing phone numbers that are not to be
  427.                       used by the Callback program.  The format of this
  428.                       file is one phone number per line.
  429.  
  430.                       Any text located from column 26 to the end of a
  431.                       line is a comment. This way you can comment each
  432.                       phone number as to why it is in this file.
  433.  
  434.  
  435.                       WILDCARD use in BAD-NUM.LST
  436.                       ───────────────────────────
  437.                       You are ALLOWED to use WILDCARDS for:  areacode,
  438.                       exchange, OR last 4 nums, country code, city code
  439.                       or last nums
  440.  
  441.                       Format of entries:
  442.  
  443.                       US calling plan format  : xxx-xxx-xxxx
  444.                       INTL calling plan format: xxx-xxxx-xxxxxxxx
  445.  
  446.                       YOU MUST KEEP THE FORMAT THE SAME.  If you have a
  447.                       number that is SHORTER than the field format, you
  448.                       should left-justify the entries (see valid entry
  449.                       example below).
  450.  
  451.                       YOU CANNOT USE PARTIAL WILDCARDS!!!
  452.  
  453.                       Ex) 301?46???? <-- Invalid YOU CANNOT USE
  454.                                          WILDCARDS IN MORE THAN ONE
  455.                                          SECTION.  YOU CAN ONLY USE
  456.                                          WILDCARDS IN "EITHER" Areacode,
  457.                                          Exhange, OR, Last 4 numbers
  458.  
  459.                       Ex)  ???555???? <-- Invalid  - Put this exchange into
  460.                                                      your TRASHCAN.DAT
  461.                            ??????1111 <-- Invalid  - Put last 4 nums into
  462.                                                      your TRASHCAN.DAT
  463.                            301??????? <-- Invalid  - Put areacode into
  464.                                                      your TRASHCAN.DAT
  465.  
  466.                        Valid entry examples:  ???5551212
  467.                                               301???1111
  468.                                               301999????
  469.                                               *041-????-????????
  470.                                               *???-221 -????????
  471.  
  472.     BADNUM         =  File displayed to user when the callback phone
  473.                       number matches an entry in BAD-NUM.LST.
  474.  
  475.     CALLB          =  Local screen shown to sysop during callback.
  476.  
  477.     GETPW          =  Displayed when Password is required for verification.
  478.  
  479.     GETPWUN        =  Displayed when Username and Password are required for
  480.                       verification.
  481.  
  482.     GETUN          =  Displayed when Username is required for verification.
  483.  
  484.     INST           =  Displayed to INSTRUCT user how to answer phone.
  485.  
  486.     AL-VER         =  Displayed when a user has been verified before.
  487.  
  488.     DUPNUM         =  Displayed when a duplicate number has been found
  489.                       in VERIFIED.LOG (username does not match)
  490.  
  491.     CID-USR        =  Displayed when the CID number matches the phone
  492.                       number in the user record and the configuration
  493.                       file is set to automatically upgrade a user when
  494.                       the numbers match. (Entry #19 = TRUE;TRUE)
  495.  
  496.     CIDNFO.SAM     =  If user has CID, and CIDNFO file exists, it will
  497.                       be displayed to the user.  This file can be used
  498.                       to inform Caller ID users, to just hit "C" for
  499.                       continue, and the callback process will upgrade
  500.                       them automatically (if configured to auto-upgrade
  501.                       in .CFG entry #19), without having to perform an
  502.                       acutal callback.
  503.  
  504.     PAS-SEC        =  Passed Callback Security Level display file
  505.  
  506.                       This file is displayed right after the prompt:
  507.  
  508.                       "Your Security Level Has Been Raised To Level: "
  509.  
  510.                       NOTE:  This file will only display when a user's
  511.                              security level is increased (successfully
  512.                              completes Callback program)
  513.  
  514.     FAL-SEC        =  Failed Callback Security Level display file
  515.  
  516.                       This file is displayed when a user does not answer
  517.                       the verification strings correctly in the
  518.                       configured number of tries.
  519.  
  520.     LC-SL.CFG      =  Local Call security file (see file for format).
  521.  
  522.     LD-SL.CFG      =  Long Distance Call security file (see file for format).
  523.  
  524.     LCNO           =  Displayed if Local Callback request is outside of
  525.                       hours defined in configuration file (CB.CFG).
  526.  
  527.     LDNO           =  Displayed if Local Callback is outside of hours
  528.                       defined in configuration file (CB.CFG).
  529.  
  530.     TRASHCAN.SAM   =  Contains area codes, exhanges and last 4 numbers
  531.                       that cannot be used for a callback.  The format
  532.                       of the file is one entry per line.  Here is an
  533.                       example:
  534.  
  535.                       800-###-####
  536.                       900-###-####
  537.                       911-###-####
  538.                       ###-911-####
  539.                       ###-555-####
  540.                       *###-2222-########       -> International Entry
  541.  
  542.                       The (#) and (-) are place holders and are ignored
  543.                       by the program when searching that particular field.
  544.                       For instance, in the 800 example, only the areacode
  545.                       will be checked, as the exchange and last four numbers
  546.                       are #'s.  With the two 911 examples above, one
  547.                       blocks the areacode and the other blocks the
  548.                       exchange from using 911 as a number.
  549.  
  550.                       NOTE:  This file is used to check EACH portion of
  551.                       the phone number and not the ENTIRE NUMBER.  The
  552.                       file BAD-NUM.LST is used for that purpose.
  553.  
  554.                       For instance, if you had an entry in TRASHCAN.DAT
  555.                       like 301-###-####, ANY callback that uses the 301
  556.                       areacode will be BLOCKED.
  557.  
  558.                       NOTE: Any line that starts with an "*" denotes an
  559.                       International number entry.
  560.  
  561.                       Comments for each line can start at column 26
  562.                       and extend to the end of the line.
  563.  
  564.                       RENAME THIS FILE TO TRASHCAN.DAT
  565.  
  566.     WELCOME        =  Displayed to user when they first enter CB.
  567.  
  568.     NODE1.SAM      =  Sample log file.
  569.  
  570.     VERIFIED.SAM   =  Sample VERIFIED.LOG file.
  571.  
  572.     CBCFG.SAM      =  Sample CB.CFG file.
  573.  
  574.     xxxXCHNG.DAT   =  OPTIONAL - Exchange files.  (xxx) is the areacode
  575.                       that these exchanges are associated with.
  576.                       The format of the file is one EXCHANGE per line in
  577.                       numerical order.
  578.  
  579.                       Example:
  580.  
  581.                       234
  582.                       343
  583.                       546
  584.                       789
  585.  
  586.                       If entry #14 in the configuration file (CB.CFG) is
  587.                       set to TRUE, then the exchange files will be used
  588.                       to determine if the callback is a local or long
  589.                       distance call.  If the exchange the user entered
  590.                       is found in this file, the call is LOCAL, otherwise
  591.                       the call is long distance.
  592.  
  593.                       To not use the exchange files, have entry #14 in
  594.                       the configuration file (CB.CFG) set to FALSE, and
  595.                       the Callback program will prompt the user if the
  596.                       call is local or long distance.
  597.  
  598.                       NOTE:  Use your local phone book for a listing of
  599.                              local exchanges for your calling area.
  600.  
  601.     301XCHNG.SAM   =  Sample xxxXCHNG.DAT file.
  602.  
  603.     AREACODE.DAT   =  OPTIONAL - Areacode file.  This file contains
  604.                       valid areacodes to be used by Callback.  If entry
  605.                       #13 in the configuration file (CB.CFG) is set to
  606.                       TRUE, then the AREACODE.DAT file will be checked
  607.                       for valid areacodes.
  608.  
  609.                       The format of this file is ONE areacode per line in
  610.                       numerical order.
  611.  
  612.     VERIFIED.LOG   =  This file is NOT INCLUDED IN THE ARCHIVE as the
  613.                       program will create it when the first user is
  614.                       verified.
  615.  
  616.                       This file will contain the phone number, username,
  617.                       date, time, if the callback was local or long
  618.                       distance, and if a CID number was used.  The entry
  619.                       will also show if the phone number was from the
  620.                       data or voice entry in the user record.
  621.  
  622.     PHONE.ZIP      =  A FREE .PPE which reads the user record and checks
  623.                       the phone number entries.  If the phone number(s)
  624.                       do not have all the information (area code, exchange
  625.                       and last 4 numbers), the user will be prompted to
  626.                       enter them correctly.  If the phone numbers in the
  627.                       users record are not long enough (12 for North
  628.                       America) the user will be prompted to enter their
  629.                       phone number instead of CB-FREE using a number
  630.                       from the user record.  Full source included.  This
  631.                       PPE is NOT REQUIRED for use with CB-FREE, it is
  632.                       just an add-on that some SysOps may want to use.
  633.  
  634.     CB-STATS.ZIP   =  A companion program for CB-FREE which generates
  635.                       an output report containing statistics gathered
  636.                       from CB-FREE Node?.Log files.
  637.  
  638.                       The output file generated by CB-STATS is called
  639.                       CB-STATS.LOG and will reside in the same
  640.                       directory as the PPE. Examples of output files
  641.                       are included in this archive and are called
  642.                       CB-STATS.EX1 and CB-STATS.EX2
  643.  
  644.                       Note:  Depending on how long you have run
  645.                              CB-FREE, some of the strings we search for
  646.                              were not in previous versions or may have
  647.                              been changed.  This will cause the stats
  648.                              to appear as inaccurate.
  649.  
  650.  
  651. 5.    CONFIGURATION FILE
  652.       ──────────────────
  653.  
  654.       CBx.CFG (x = node #) can be used.  If a node specific
  655.       configuration file is not found, then CB.CFG will be used.  The
  656.       configuration file can contain comments on ANY LINE. Comments are
  657.       lines that START with a (#) or a (') omitting the parenthesis.
  658.  
  659.       NOTE:  The configuration file MUST CONTAIN 26 configuration
  660.       parameters or the program will not run.  Here is a listing of the
  661.       parameters, line by line.
  662.  
  663.  
  664. Entry 1 = HIGHEST security level allowed to use the PPE
  665.  
  666. Entry 2 = USER/PASS/BOTH;Verification entry tries
  667.  
  668.           USER = Verify by asking for the Username
  669.           PASS = Verify by asking for the Password
  670.           BOTH = Verify by asking for the Username and Password
  671.  
  672.           Verification entry tries - Number of tries users get to
  673.                                      successfully enter verification
  674.                                      information.
  675.  
  676. Entry 3 = Number of tries (phone calls) to perform a successful callback.
  677.  
  678. Entry 4 = INIT string for modem
  679.  
  680. Entry 5 = Timeout for Local callback (seconds) (Used in conjunction with
  681.           entries #16, 17, & 18)
  682.  
  683. Entry 6 = Timeout for Long Distance callback (seconds) (Used in
  684.           conjunction with entries #16, 17, & 18)
  685.  
  686. Entry 7 = Area Code which is ALWAYS a local call. If an area code is
  687.           entered here then a "xxxXCHNG.DAT" file is not required for
  688.           this area code.  If "202" was entered on this line, the file
  689.           202XCHNG.DAT would not be required.  Blank line = disable
  690.           feature
  691.  
  692. Entry 8 = When this area code is entered by the user and it is a local
  693.           call, Callback will NOT use the area code as part of the
  694.           number dialed. For instance:  If 301 was entered here, then
  695.           any LOCAL CALL to 301 would be dialed as XXX-XXXX and not
  696.           301-XXX-XXXX.  If you have a blank line here, then all local
  697.           calls will use the area code as part of the number to dial.
  698.  
  699.           NOTE:  To use this feature, you MUST be using the xxxXCHNG.DAT
  700.           file
  701.  
  702. Entry 9 = Start time and end time to allow a local callback.  The format
  703.           for this entry is:  starttime;endtime.
  704.  
  705.           Example: 7:00:00;23:00:00
  706.  
  707.           If the current system time is not within the starting and
  708.           ending time, the file NOCALL will be displayed to the user
  709.           explaining that we do not do callbacks during this time, and
  710.           show them the times that we allow callbacks. NOTE: If this
  711.           line is BLANK, then callbacks will be allowed 24hrs/day to all
  712.           local callbacks
  713.  
  714. Entry 10= Start time and end time to allow a long distance callback.
  715.           The format for this entry is:  starttime;endtime.
  716.  
  717.           Example: 17:00:00;07:00:00
  718.  
  719.           If the current system time is not within the starting and
  720.           ending time, the file NOCALL will be displayed to the user
  721.           explaining that you do not do callbacks during this time, and
  722.           show them the times that you allow callbacks. NOTE: If this
  723.           line is BLANK, then callbacks will be allowed 24hrs/day to all
  724.           long distance callbacks
  725.  
  726.           NOTE:  If this line is BLANK, then callbacks will be allowed
  727.                  24hrs/day to all long distance callbacks
  728.  
  729.           If you have "DISABLED" (no quotes) for this line, all Long
  730.           Distance callbacks will be blocked (not allowed).
  731.  
  732. Entry 11= Conference number and path/filename of message to be imported
  733.           when a successful callback is completed.  A blank line
  734.           DISABLES this function.
  735.  
  736.           Entry #11 consists of TWO parameter.  Param A is the
  737.           conference number where you want a message posted when a
  738.           callback is successful (this message is only sent to the
  739.           SysOp).  Param B is the full path and filename of the message
  740.           you wish to IMPORT into the message base for the conference
  741.           number listed as Parm A.  Here are a couple of examples:
  742.  
  743.           EX)  0;C:\PCB\CBSUCCES.DOC
  744.  
  745.           EX)  6;C:\PCB\TEXT\CBMSG.DOC
  746.  
  747.           In the first example, we will be using CONFERENCE 0 (Main) and
  748.           will post the message C:\PCB\CBSUCCES.DOC.
  749.  
  750.           The message will be to  :  SYSOP
  751.           The message will be from:  CB-FREE CALLBACK PPE
  752.           The message subject     :  (Username) Completed Callback
  753.           The message text        :  (imported from your file CBSUCCES.DOC)
  754.           The message will be PRIVATE
  755.  
  756.           And yet another example for you:
  757.  
  758.           EX) 0;c:\dan\testmsg.doc  (post to conference "0" - Main)
  759.  
  760.           I then did a local callback and viewed the message in conference
  761.           "0" as follows:
  762.  
  763.         ┌───────────────────────────────────────────────────────────────────┐
  764.         │ Date: 04-21-96 (08:36)        Number: 3317 of 3317 (Refer# NONE)  │
  765.         │   To: SYSOP                                                       │
  766.         │ From: CB-FREE CALLBACK PPE                                        │
  767.         │ Subj: Dan Shore - Completed Callback                              │
  768.         │ Read: NO                       Status: RECEIVER ONLY              │
  769.         │ Conf: Main Board (0)           Read Type: GENERAL (R/O) (+)       │
  770.         │                                                                   │
  771.         │ Callback completed.                                               │
  772.         │                                                                   │
  773.         └───────────────────────────────────────────────────────────────────┘
  774.  
  775.           I have a file in the c:\dan directory called TESTMSG.DOC with
  776.           a single line in it that has:  "Callback completed" (as you
  777.           can see above in the body of the message).  Note in the
  778.           subject, the users actual name appears to inform you "who"
  779.           completed the callback.
  780.  
  781. Entry 12= Set TRUE or FALSE.  TRUE will display the prompt "Use Other
  782.           Phone Number" when displaying the user's Data Phone
  783.           Number and their voice phone numbers from their user record to
  784.           use for callback.
  785.  
  786. Entry 13= TRUE means check area code entered by user against area codes
  787.           in AREACODE.DAT file.  If area code is not found in
  788.           AREACODE.DAT, then the user is informed and exited from the
  789.           callback process.
  790.  
  791.           FALSE means DO NOT check for the file AREACODE.DAT
  792.  
  793. Entry 14= TRUE means check exchange entered by user and see if the file
  794.           "xxxXCHNG.DAT" exists (xxx is the area code entered by the
  795.           user). IF xxxXCHNG.DAT exists, check the exchange entered by
  796.           the user to see if it exists in the "xxxXCHNG.DAT" file.  If
  797.           the exchange does exist, then the phone call is LOCAL.
  798.  
  799.           FALSE means do not check for the existance of the
  800.           "xxxXCHNG.DAT" file and then the user will be prompted for the
  801.           call being LOCAL or LONG DISTANCE.
  802.  
  803. Entry 15= TRUE means to upgrade user to successful security level if
  804.           their name and phone number is already in VERIFIED.LOG (user
  805.           has been verified before).
  806.  
  807.           FALSE means do not upgrade user.  Make them go through the
  808.           callback process again
  809.  
  810. Entry 16= Value to deduct from configuration option line #3 (times to
  811.           try callback) when a BUSY is encountered
  812.  
  813. Entry 17= Value to deduct from configuration option line #3 (times to
  814.           try callback) when a NO DIAL (no dialtone) is encountered
  815.  
  816. Entry 18= Value to deduct from configuration option line #3 (times to
  817.           try callback) when a RING (incoming call) is encountered
  818.  
  819. Entry 19= Caller ID Processing.
  820.  
  821.           1st parameter = TRUE means to use the CALLER ID information as
  822.           the user's callback number.
  823.  
  824.           The 2nd parameter if TRUE means to automatically upgrade the
  825.           user if the caller ID information matches one of the entries
  826.           in the user record.  Otherwise a callback will be performed
  827.           using the using the Caller ID phone number.
  828.  
  829.           The 3rd parameter is the string that starts the phone number
  830.           in the CID info.  Usually this is NMBR = , but with some
  831.           modems it is NUMBER:  If you are not sure, look in your
  832.           PCBoard Callers file for your CID info.  If you are only
  833.           passing the phone number to PCBoard, then leave this parameter
  834.           with no value.  Here is an example:  TRUE;TRUE;;301;A
  835.  
  836.           The 4th parameter is when CID only returns a 7 digits phone
  837.           number (exchange and last 4).  When this occurs, this areacode
  838.           is added to the beginning of the CID information.  Usually
  839.           this would be your areacode, as the CID would be for a local
  840.           call.
  841.  
  842.           The 5th parameter is either an "A" or an "H".  This tell the
  843.           PPE if the phone number is in "A" = ASCII or "H" = HEX format
  844.           in the CID.  If HEX, the PPE will convert it to an ASCII
  845.           number.
  846.  
  847.           The 6th parameter is either TRUE or FALSE.  This parameter
  848.           determines if a user who is blocking CID information to be
  849.           exited from the PPE or allowed to continue the callback.
  850.           TRUE = Kick user out of the callback due to the NMBR information
  851.           having "PRIVATE" instead of the actual phone number.
  852.           FALSE = User is blocking CID info, but still let them go
  853.           through the callback process.
  854.  
  855.           The 7th parameter is the string to search for to determine if
  856.           the user is blocking CID information.  Typical strings to
  857.           search for are:  PRIVATE or BLOCKED.  Check with your local Phone
  858.           Co. to see what string/phrase is used when a user is blocking
  859.           their CID info.
  860.  
  861.           NOTE:  Some local phone companies allow you to stop any calls
  862.                  where a user is blocking caller id.  This is stopped at
  863.                  the central office and never reaches your BBS.  The
  864.                  user will receive a recording informing them of the
  865.                  inability to call the desired number with CID blocked.
  866.                  Again, check with your local phone company for this
  867.                  option.
  868.  
  869.           NOTES:
  870.           ──────
  871.           a.  The LOG file will show if the CALLER ID information
  872.               matches an entry in the User Record along with an entry in
  873.               the PCB Caller log.
  874.  
  875.           b.  Log files will have "RAW" CID information (before PPE
  876.               processes it for the phone number)
  877.  
  878.           c.  If the 1st parmameter is FALSE, the 2nd thru 6th paramters
  879.               need not be entered.
  880.  
  881.           d.  If the 1st parameter is TRUE, you MUST USE parameters 2,
  882.               3, 4, 5, 6, and 7th !!!
  883.  
  884.  
  885. Entry 20= Modem Dial string (set to ATDT for touch tone or ATDP for dial
  886.           pulse)
  887.  
  888. Entry 21= Three part entry.
  889.  
  890.           Part 1 = Dialing Prefix
  891.           Part 2 = Dialing Suffix
  892.           Part 3 = When to use suffix
  893.  
  894.           Ex)   9,;,4444;D
  895.  
  896.          A Blank line means do not add any special dialing strings
  897.  
  898.          1. Dialing prefix to add to phone number.  Some places require
  899.             a number in order to get an "outside" line.  If a number is
  900.             entered here, it will be added to the BEGINNING of the phone
  901.             number.  For instance if the number to call was
  902.             1-333-444-5555 and you had "9," as the prefix string, the
  903.             modem would be sent: 9,13334445555.
  904.  
  905.          NOTE:  If you require a COMMA after the prefix, you MUST have
  906.                 this as part of this entry.
  907.  
  908.          2. Dialing suffix to add to phone number.  Some places require
  909.             a number in order to dial long distance.  If a number is
  910.             entered here, it will be added to the END of the phone
  911.             number. For instance if the number to call was
  912.             1-333-444-5555 and you had ",4444" as the suffix string, the
  913.             modem would be sent: 13334445555,4444
  914.  
  915.          NOTE:  If you require a COMMA, you MUST have this as part of
  916.                 this entry.
  917.  
  918.          3. When to use suffix:
  919.  
  920.              "A" = All the time,
  921.              "D" = LD calls only
  922.              "L" = Local callsonly
  923.  
  924.  
  925. Entry 22= This is the Long Distance prefix.  This number will be used
  926.           when making a LD phone call.  Normally in the U.S. you would
  927.           use "1" as the prefix, but in some cases you will want to
  928.           change this to another number.  If you had "1" for this
  929.           parameter and you were calling 333-444-5555, the phone number
  930.           dialed would be 13334445555, as the LD prefix would be added to
  931.           the number.
  932.  
  933.           The second parameter is REQUIRED when you are using BOTH as an
  934.           option for Parameter #25 (Calling Allowed:  US, INTL, BOTH).
  935.           The second parameter will be the long distance prefix for
  936.           INTERNATIONAL callbacks.
  937.  
  938.           A;B
  939.  
  940.           A = Long distance prefix for Non-International callbacks
  941.           B = Long distance prefix for International callbacks
  942.  
  943. Entry 23= Option to add:  Date, Time, and Phone Number to the user
  944.           record COMMENT field or NOTES field.  To use the NOTES
  945.           field, you MUST HAVE the PSA installed!!!
  946.  
  947.           OPTIONS:  COMMENT, COMMENT1, COMMENT2, NOTES, BLANK LINE
  948.  
  949.           COMMENT
  950.           ───────
  951.           The program will FIRST check to see if COMMENT Field #1 is
  952.           used. If #1 is used, the program will check to see if COMMENT
  953.           Field #2 is used.  If #2 is used, NO POSTING WILL BE DONE!
  954.  
  955.           COMMENT1 -or- COMMENT2
  956.           ──────────────────────
  957.           If either of these options is chosen, the callback information
  958.           will be written to the selected COMMENT# field no matter if
  959.           information was already there or not.  (OVERWRITES PREVIOUS
  960.           INFORMATION)
  961.  
  962.           NOTES
  963.           ─────
  964.           If this option is chosen, the program will first check to see
  965.           if the PSA is installed.  If installed, the callback
  966.           information will be written to the notes field.  NOTE:  The
  967.           information will only be written to the NOTES fields IF THERE
  968.           IS ROOM for the callback information (30 characters).  If
  969.           there is not enough room to write the information (due to
  970.           other information already there), NO CALLBACK information will
  971.           be written to the NOTES fields.
  972.  
  973.           BLANK LINE
  974.           ──────────
  975.           Disable this feature.
  976.  
  977. Entry 24= Minimum length of phone number to be valid.  A value of 10 is
  978.           used when the callback is for the U.S. or areas that use the
  979.           three part phone number (ac+ex+4)
  980.  
  981.           An entry of 10 would be used
  982.           for US dialing: areacode + exchange + last 4  (3+3+4 = 10)
  983.  
  984.           The program will check for this length, and abort if the
  985.           length is not equal to this value.  One place the program
  986.           checks this value is when processing phone numbers from the
  987.           user record.  If the phone number from the user record is used
  988.           and the length is not equal to this value the user will be
  989.           PROMPTED for areacode, exchange, & the last 4 numbers when
  990.           using U.S. dialing (parameter #25 - see next).
  991.  
  992.           The SysOp will be alerted in the log if the phone number does
  993.           not match this length.
  994.  
  995.           The second parameter is REQUIRED when you are using INTL or
  996.           BOTH as an option for parameter #25.
  997.  
  998.           Example:     A;B           10;9
  999.  
  1000.           A = Minimum phone length for US Calling plan Callbacks
  1001.           B = Minimum phone length for INTL Calling plan Callbacks
  1002.  
  1003.  
  1004. Entry 25= Callbacks allowed.  Accepted values:  US, INTL, BOTH
  1005.  
  1006.           US     -  Use area code, exchange, last 4 for all callbacks
  1007.                     (North America).  International calls are not
  1008.                     supported.
  1009.  
  1010.                     US dialing plan requires a value of 10 in the
  1011.                     first configuration option for entry number 24.
  1012.  
  1013.         INTL     -  Use Country Code, City Code, and Last Numbers
  1014.                     for all callbacks.  International calls are
  1015.                     not supported
  1016.  
  1017.         BOTH     -  Perform callback to BOTH area code/exchange/last4
  1018.                     and country code/city code/last numbers formats.
  1019.                     When the user first enters callback, they will be
  1020.                     asked what format their phone number is (PFORM1).
  1021.                     They will then be asked if the callback will be
  1022.                     an International callback.
  1023.  
  1024.                     If the callback is INTERNATIONAL, the second long
  1025.                     distance prefix parameter (CFG Param #22) will be
  1026.                     used.  Also, the second minimum phone number length
  1027.                     parameter (CFG parm #24) will be used.
  1028.  
  1029. IMPORTANT NOTE!!!!  If you are using INTL or BOTH as the value for this
  1030.                     parameter, you can use a SECOND option on the
  1031.                     configuration line which enables the program to ask
  1032.                     the user if the callback to them requires a leading
  1033.                     ZERO to the phone number.  For instance in the U.K.
  1034.                     a call to an exchange code of 181 is dialed 0181
  1035.                     then the remaining part of the phone number.
  1036.  
  1037.  
  1038.                     To enable this option, enter TRUE after the INTL or
  1039.                     BOTH value.   Ex)  INTL;TRUE
  1040.  
  1041.                                   Ex)  BOTH;TRUE
  1042.  
  1043.                     With it set to TRUE a "0" will be added to the
  1044.                     beginning of the phone number.
  1045.  
  1046.                     If there is a better way of dealing with the leading
  1047.                     zero instead of asking the user, please let me know.
  1048.  
  1049. Entry 26= Hangup after a Long Distance Callback verification?
  1050.  
  1051.           TRUE  = hangup on the user after callback
  1052.           FALSE = let user stay on line (you pay for the rest of the call)
  1053.  
  1054.           Anything but the word FALSE for this configuration option will
  1055.           cause the program to disconnect after a successful long
  1056.           distance callback.
  1057.  
  1058.  
  1059.           WARNING - SETTING THIS OPTON TO FALSE MEANS YOU WILL BE PAYING
  1060.                     THE PHONE BILL FOR THE ENTIRE TIME THE USER IS ON
  1061.                     YOUR BBS AFTER THE CALLBACK IS COMPLETED!!!!  YOU
  1062.                     HAVE TO PAY!!!!! USE THIS FEATURE WITH EXTREME
  1063.                     CAUTION!!!!!  REMEMBER YOU HAVE TO PAY!!!!  IT WILL
  1064.                     BE ON YOUR PHONE BILL!!!!
  1065.  
  1066.           Information will be posted in the LOG file and the CALLERS log
  1067.           IF THE USER IS ALLOWED TO STAY ONLINE AFTER LD CALLBACK.  This
  1068.           alert logging is for your protection.
  1069.  
  1070.  
  1071.  
  1072. 6.    SPECIAL THANKS
  1073.       ──────────────
  1074.  
  1075.       A special thanks to the Beta Testers:
  1076.  
  1077.       John Palazzolo of JP's Place            703-237-5786
  1078.       Bob Lotspeich of The Circle Circus BBS  703-730-3115
  1079.       Rick Graham of Peyote Bud's             918-534-2124
  1080.       Alfred Morin of The Baldeagle BBS       941-749-5565
  1081.       Pete Bingert of Eastern Nightlight      609-597-4290
  1082.       Marcel Cote of The Frog Pond BBS        905-788-2193
  1083.  
  1084.       Thank you for your testing, suggestions, and assistance.  And most
  1085.       of all for putting up with my patience (what patience? <G>) when I
  1086.       WANTED reports on the latest Beta and its progress.
  1087.  
  1088.  
  1089.       Also, a thank you to the many other PCBoard SysOp's who have tried
  1090.       CB-FREE.  You have contributed to CB-FREE's developement with your
  1091.       comments, bug reports, suggestions, or even a simple but quick
  1092.       "nice program" message.
  1093.  
  1094.          Thank you!!
  1095.  
  1096.  
  1097. 7.   REGISTRATION
  1098.      ────────────
  1099.  
  1100.      This PPE is FREE and is being released with FULL SOURCE CODE.  This
  1101.      means there is no cost for using this PPE on your BBS.
  1102.  
  1103.      If you really like this PPE and the ability to modify the source
  1104.      code and all the features we packed into it, please consider
  1105.      sending a donation to the author in appreciation of his hard work.
  1106.      Many hours were spent on writing this PPE and many $$$ spent on
  1107.      Long Distance calls to beta testers to help the product be as
  1108.      bug free (is there such a thing?) as possible.
  1109.  
  1110.      Something as small as $5.00 can be sent to show your appreciation.
  1111.      To send a donation, see the address at the end of this document.
  1112.      We do accept Credit Cards for subscriptions on our system if you
  1113.      want to stop by and see what we have to offer.
  1114.  
  1115.  
  1116.  
  1117. 8.   WARRANTY AND DISCLAIMER
  1118.      ───────────────────────
  1119.  
  1120.      THIS PRODUCT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
  1121.      INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A
  1122.      PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE RESULTS AND
  1123.      PERFORMANCE OF THE PROGRAM IS ASSUMED BY YOU.  FURTHERMORE, I THE
  1124.      AUTHOR DO NOT WARRANT, GUARANTEE, OR MAKE ANY REPRESENTATIONS
  1125.      REGARDING THE USE OF OR THE RESULTS OF THE USE OF THE PROGRAM, OR
  1126.      THAT THE PROGRAM WILL RUN WITHOUT ERROR, AND YOU RELY ON THE
  1127.      PROGRAM AND RESULTS SOLELY AT YOUR OWN RISK. I THE AUTHOR CANNOT
  1128.      ACCEPT RESPONSIBILITY FOR SYSTEM DAMAGE, LOSS OF PROFIT, OR ANY
  1129.      OTHER SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES RESULTING FROM
  1130.      THE USE OR INABILITY TO USE THIS PRODUCT.
  1131.  
  1132.      YOU ARE ALLOWED TO MODIFY THE SOURCE CODE AND REDISTRIBUTE.  YOU
  1133.      ARE NOT ALLOWED TO CHARGE REGISTRATION FEES, OR ANY OTHER TYPE OF
  1134.      FEES, OR COSTS FOR THE PROGRAM ITSELF OR FOR THE WORK YOU OR OTHERS
  1135.      PEFORMED ON THE PROGRAM.  THIS PROGRAM IS TO REMAIN *FREE* WITH
  1136.      FULL SOURCE CODE AVAILABLE.
  1137.  
  1138.      CB-FREE is copyrighted (c)1996 by Daniel A. Shore. ALL RIGHTS RESERVED.
  1139.  
  1140.  
  1141.  
  1142. 9.   CONCLUSION
  1143.      ──────────
  1144.  
  1145.      This archive has been zipped with an authenticity verification
  1146.      stamp. When you unzip this archive you should see at the end:
  1147.  
  1148.             Authentic files Verified!   # MMJ131
  1149.             THE SHORELINE BBS
  1150.  
  1151.      If you do not see this, then the file has either been tampered
  1152.      with or has been rezipped by an upload processor.
  1153.  
  1154.      If you have any questions, comments, suggestions, etc., please
  1155.      feel free to contact me via NetMail, the PCBoard, PCBNet, or
  1156.      PCBPPL conferece in FIDO, the PPL conference on RIME, the PCB
  1157.      Support Echo on ILink, or the DGN-HELP conference on DragonNet.
  1158.  
  1159.      Dan Shore                  (301) 946-2771  - Node 1 (public access)
  1160.      The Shoreline BBS          (301) 946-4202  - Node 2 (subscribers)
  1161.      4312 Ferrara Court         (301) 946-8153  - Node 3 (public access)
  1162.      Silver Spring, MD 20906    (301) 946-5733  - Node 4 (public access)
  1163.                                  Fido Address   - 1:109/458  1:109/457
  1164.                                  RIME Address   - #1205 or SHORELINE
  1165.                                  E-Mail Address - dan.shore%sline@ghawk.com
  1166.